package com.geekhome.player.domain.entity;

import com.mongodb.gridfs.GridFS;
import lombok.Data;
import org.bson.BsonBinary;
import org.bson.types.ObjectId;
import org.springframework.data.mongodb.core.mapping.Document;

/**
 * Copyright © 2018年 ziniublog. All rights reserved.
 *
 * @author 临江仙 hzqiuxm@163.com
 * 各个职业段位配置表
 * @date 2018/12/27 19:48
 * @Since 1.0.0
 */

/**
 岗位类别	岗位职能级别	职业类别	职业段位	段位系数	对用公司LEVEL
 前端	实习生	法师	法师学徒	1	T1
 前端初级工程师	流浪法师	2	T3
 前端中级工程师	魔法师	3	T4
 前端高级工程师	魔导师	4	T5
 技术经理	圣魔导	5	T6/L2
 技术总监	圣魔大法师	6	T7/L3


 后端	实习生	战士	战士学徒	1	T1
 后端初级工程师	盾战士	2	T3
 后端中级工程师	狂战士	3	T4
 后端高级工程师	圣战士	4	T5
 技术经理	骑士	5	T6/L2
 技术总监	圣骑士	6	T7/L3


 测试	实习生	拳师	拳师学徒	1	T1
 初级测试工程师	格斗家	2	T3
 中级测试工程师	拳王	3	T4
 高级测试工程师	气功师	4	T5
 测试经理	拳宗	5	T6/L2
 测试总监	拳皇	6	T7/L3


 运维	实习生	牧师	牧师学徒	1	T1
 初级运维工程师	治愈者	2	T3
 中级运维工程师	济世者	3	T4
 高级运维工程师	大贤国手	4	T5
 技术经理	悬壶尊者	5	T6/L2
 运维总监	济世医圣	6	T7/L3


 产品	实习生	工匠	矮人学徒	1	T1
 产品助理	锻造工匠	2	T3
 产品专员	能工巧匠	3	T4
 产品经理	锻造大师	4	T5
 产品专家	鬼斧神匠	5	T6/L2
 产品总监	巧夺天工	6	T7/L3


 设计	实习生	召唤师	哥布林学徒	1	T1
 初级设计师	契约师	2	T3
 中级设计师	元素师	3	T4
 高级设计师	秘术师	4	T5
 设计专家	幻术师	5	T6/L2
 设计总监	巫妖王	6	T7/L3


 安全	实习生	吸血鬼	吸血鬼学徒	1	T1
 初级安全工程师	血族男爵	2	T3
 中级安全工程师	血族子爵	3	T4
 高级安全工程师	血族伯爵	4	T5
 技术经理	血族侯爵	5	T6/L2
 技术总监	血族公爵	6	T7/L3


 移动端	实习生	刺客	盗贼学徒	1	T1
 初级开发工程师	暗杀者	2	T3
 中级开发工程师	绿林好汉	3	T4
 高级开发工程师	赏金猎人	4	T5
 技术经理	幻影游侠	5	T6/L2
 技术总监	天诛	6	T7/L3


 全栈	实习生	剑士	剑士学徒	1	T1
 初级全栈工程师	剑客	2	T3
 中级全栈工程师	剑豪	3	T4
 高级全栈工程师	剑圣	4	T5
 架构师/研发总监	剑皇	5	T6/T7/L3
 CTO/布道师	剑神	6	T7/T8/L3/L4

 * @author hzqiuxm
 */
@Data
@Document("character_config")
public class CharacterConfigDO {

    /**
     * 唯一编号
     */
    private ObjectId id;

    /**
     * 职业序号,每个职业从1开始，目前最高18，每个职业段位分3个级别，共6个段位
     */
    private Integer orderId;

    /**
     * 职业类型编号，采用拼音首字母 法师FS  战士ZS  拳师QS  盗贼 DZ 牧师MS  剑士JS  工匠GJ 血族XZ
     */
    private String characterCode;

    /**
     * 职业类型名称 例如：法师学徒
     */
    private String characterName;

    /**
     * 职业level 1-3 1 初级  2 中级  3 高级
     */
    private Integer level;

    /**
     * 对应工程师别名 例如：法师学徒的对应工程师别名是前端实习生
     */
    private String engineerName;

    /**
     * 职业描述
     */
    private String characterDes;


    /**
     * 职业升段经验值
     */
    private Long exp;

    /**
     * 使用状态 0 失效   1 生效
     */
    private Integer status;


    /**
     * 职业段位图标
     */
    private String characterIcon;

}
